﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Tier3CommonDALGloria;
using DALGloria.DALGloria;


namespace AsociarTagPDT
{
    public partial class frmAsociacionTagArticulo : Form
    {
        public frmAsociacionTagArticulo()
        {
            InitializeComponent();
        }


        private void cmbNombre_SelectedValueChanged(object sender, EventArgs e) {

            tbxMarca.Enabled = false;
            tbxModelo.Enabled = false;
            tbxCN.Enabled = false;
            tbxSN.Enabled = false;
            tbxMFD.Enabled = false;
            tbxPN.Enabled = false;
            rbtCorto.Enabled = false;
            rbtLargo.Enabled = false;
            tbxCodigoTag.Enabled = false;
            tbxMarca.Text = "";
            tbxModelo.Text = "";
            tbxCN.Text = "";
            tbxSN.Text = "";
            tbxMFD.Text = "";
            tbxPN.Text = "";
            rbtCorto.Checked = false;
            rbtLargo.Checked = false;
            tbxCodigoTag.Text = "";

            switch(cmbNombre.SelectedIndex){
                case 0:
                    tbxMarca.Enabled = true;
                    tbxModelo.Enabled = true;
                    tbxCN.Enabled = true;
                    tbxSN.Enabled = true;
                    rbtCorto.Enabled = true;
                    rbtLargo.Enabled = true;
                    tbxCodigoTag.Enabled = true;
                    break;
                case 1:
                    tbxMarca.Enabled = true;
                    tbxModelo.Enabled = true;
                    tbxCN.Enabled = true;
                    tbxSN.Enabled = true;
                    tbxCodigoTag.Enabled = true;
                    break;
                case 2:
                    tbxMarca.Enabled = true;
                    tbxModelo.Enabled = true;
                    tbxPN.Enabled = true;
                    tbxMFD.Enabled = true;
                    tbxCodigoTag.Enabled = true;
                    break;
                case 3:
                    tbxMarca.Enabled = true;
                    tbxModelo.Enabled = true;
                    tbxPN.Enabled = true;
                    tbxMFD.Enabled = true;
                    tbxCodigoTag.Enabled = true;
                    break;
                case 4:
                    tbxMarca.Enabled = true;
                    tbxModelo.Enabled = true;
                    tbxPN.Enabled = true;
                    tbxSN.Enabled = true;
                    tbxCodigoTag.Enabled = true;
                    break;
            }

        }

        private void btnAceptar_Click(object sender, EventArgs e)
        {
            int i = 0;
            if (cmbNombre.SelectedIndex == -1)
            {
                MessageBox.Show("Debe seleccionar un nombre");
            }
            else {
                //MessageBox.Show("-index" +cmbNombre.SelectedIndex.ToString() + "-item" + cmbNombre.SelectedItem + "-text" + cmbNombre.SelectedText + "-value" + cmbNombre.SelectedValue);
                string nombre = Convert.ToString(cmbNombre.SelectedItem);
                string marca = tbxMarca.Text;
                string modelo = tbxModelo.Text;
                string CN = tbxCN.Text;
                string SN = tbxSN.Text;
                string MFD = tbxMFD.Text;
                string PN = tbxPN.Text;
                string tipo="";
                if (rbtCorto.Checked){
                    tipo = rbtCorto.Text;
                }
                if (rbtLargo.Checked){
                    tipo = rbtLargo.Text;
                }
                string codigoTag = tbxCodigoTag.Text;
                


                switch (cmbNombre.SelectedIndex)
                {
                    case 0:
                        if (string.IsNullOrEmpty(marca) || string.IsNullOrEmpty(modelo) || string.IsNullOrEmpty(CN) || string.IsNullOrEmpty(SN) || string.IsNullOrEmpty(tipo)|| string.IsNullOrEmpty(codigoTag))
                        {
                            MessageBox.Show("Rellene todos los campos habilitados");
                        }
                        else {
                            i = 1;
                        }
                        break;
                    case 1:
                        if (string.IsNullOrEmpty(marca) || string.IsNullOrEmpty(modelo) || string.IsNullOrEmpty(CN) || string.IsNullOrEmpty(SN) || string.IsNullOrEmpty(codigoTag))
                        {
                            MessageBox.Show("Rellene todos los campos habilitados");
                        }
                        else {
                            i = 1;
                        }
                        break;
                    case 2:
                        if (string.IsNullOrEmpty(marca) || string.IsNullOrEmpty(modelo) || string.IsNullOrEmpty(PN) || string.IsNullOrEmpty(MFD) || string.IsNullOrEmpty(codigoTag))
                        {
                            MessageBox.Show("Rellene todos los campos habilitados");
                        }
                        else {
                            i = 1;
                        }
                        break;
                    case 3:
                        if (string.IsNullOrEmpty(marca) || string.IsNullOrEmpty(modelo) || string.IsNullOrEmpty(PN) || string.IsNullOrEmpty(MFD) || string.IsNullOrEmpty(codigoTag))
                        {
                            MessageBox.Show("Rellene todos los campos habilitados");
                        }
                        else {
                            i = 1;
                        }
                        break;
                    case 4:
                        if (string.IsNullOrEmpty(marca) || string.IsNullOrEmpty(modelo) || string.IsNullOrEmpty(PN) || string.IsNullOrEmpty(SN) || string.IsNullOrEmpty(codigoTag)) {
                            MessageBox.Show("Rellene todos los campos habilitados");
                        }
                        else{
                            i = 1;
                        }                           
                        break;
                }
                if (i == 1)
                {
                    ArticuloVWDAL articulo = new ArticuloVWDAL();

                    int ingreso = articulo.RegistrarTag(nombre, marca, modelo, CN, PN, SN, MFD, tipo, codigoTag);

                    if (ingreso == 0)
                    {
                        MessageBox.Show("El articulo ya tiene un tag asociado");
                    }
                    else {
                        MessageBox.Show("Se asoció correctamente el tag al artículo");
                    }
                }
            }

        }

        private void tbxCN_TextChanged(object sender, EventArgs e)
        {

        }

        private void btnVerAsociados_Click(object sender, EventArgs e)
        {
            frmBusquedaTagAsociado frmbusqueda = new frmBusquedaTagAsociado();

            frmbusqueda.ShowDialog();
        }


    }
}
